<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ImageStone: FCDownloadFileWndBase&lt; T &gt; Class Template Reference</title>
<style>
BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
	font-family: Geneva, Arial, Helvetica, sans-serif;
}
BODY,TD {
       font-size: 90%;
}
H1 {
	text-align: center;
       font-size: 160%;
}
H2 {
       font-size: 120%;
}
H3 {
       font-size: 100%;
}
CAPTION { font-weight: bold }
DIV.qindex {
	width: 100%;
	background-color: #e8eef2;
	border: 1px solid #84b0c7;
	text-align: center;
	margin: 2px;
	padding: 2px;
	line-height: 140%;
}
DIV.nav {
	width: 100%;
	background-color: #e8eef2;
	border: 1px solid #84b0c7;
	text-align: center;
	margin: 2px;
	padding: 2px;
	line-height: 140%;
}
DIV.navtab {
       background-color: #e8eef2;
       border: 1px solid #84b0c7;
       text-align: center;
       margin: 2px;
       margin-right: 15px;
       padding: 2px;
}
TD.navtab {
       font-size: 70%;
}
A.qindex {
       text-decoration: none;
       font-weight: bold;
       color: #1A419D;
}
A.qindex:visited {
       text-decoration: none;
       font-weight: bold;
       color: #1A419D
}
A.qindex:hover {
	text-decoration: none;
	background-color: #ddddff;
}
A.qindexHL {
	text-decoration: none;
	font-weight: bold;
	background-color: #6666cc;
	color: #ffffff;
	border: 1px double #9295C2;
}
A.qindexHL:hover {
	text-decoration: none;
	background-color: #6666cc;
	color: #ffffff;
}
A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
A.el { text-decoration: none; font-weight: bold }
A.elRef { font-weight: bold }
A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
A.codeRef:link { font-weight: normal; color: #0000FF}
A.codeRef:visited { font-weight: normal; color: #0000FF}
A:hover { text-decoration: none; background-color: #f2f2ff }
DL.el { margin-left: -1cm }
.fragment {
       font-family: Fixed, monospace;
       font-size: 95%;
}
PRE.fragment {
	border: 1px solid #CCCCCC;
	background-color: #f5f5f5;
	margin-top: 4px;
	margin-bottom: 4px;
	margin-left: 2px;
	margin-right: 8px;
	padding-left: 6px;
	padding-right: 6px;
	padding-top: 4px;
	padding-bottom: 4px;
}
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
TD.md { background-color: #F4F4FB; font-weight: bold; }
TD.mdPrefix {
       background-color: #F4F4FB;
       color: #606060;
	font-size: 80%;
}
TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }
TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }
DIV.groupHeader {
       margin-left: 16px;
       margin-top: 12px;
       margin-bottom: 6px;
       font-weight: bold;
}
DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
BODY {
	background: white;
	color: black;
	margin-right: 20px;
	margin-left: 20px;
}
TD.indexkey {
	background-color: #e8eef2;
	font-weight: bold;
	padding-right  : 10px;
	padding-top    : 2px;
	padding-left   : 10px;
	padding-bottom : 2px;
	margin-left    : 0px;
	margin-right   : 0px;
	margin-top     : 2px;
	margin-bottom  : 2px;
	border: 1px solid #CCCCCC;
}
TD.indexvalue {
	background-color: #e8eef2;
	font-style: italic;
	padding-right  : 10px;
	padding-top    : 2px;
	padding-left   : 10px;
	padding-bottom : 2px;
	margin-left    : 0px;
	margin-right   : 0px;
	margin-top     : 2px;
	margin-bottom  : 2px;
	border: 1px solid #CCCCCC;
}
TR.memlist {
   background-color: #f0f0f0; 
}
P.formulaDsp { text-align: center; }
IMG.formulaDsp { }
IMG.formulaInl { vertical-align: middle; }
SPAN.keyword       { color: #008000 }
SPAN.keywordtype   { color: #604020 }
SPAN.keywordflow   { color: #e08000 }
SPAN.comment       { color: #800000 }
SPAN.preprocessor  { color: #806020 }
SPAN.stringliteral { color: #002080 }
SPAN.charliteral   { color: #008080 }
.mdTable {
	border: 1px solid #868686;
	background-color: #F4F4FB;
}
.mdRow {
	padding: 8px 10px;
}
.mdescLeft {
       padding: 0px 8px 4px 8px;
	font-size: 80%;
	font-style: italic;
	background-color: #FAFAFA;
	border-top: 1px none #E0E0E0;
	border-right: 1px none #E0E0E0;
	border-bottom: 1px none #E0E0E0;
	border-left: 1px none #E0E0E0;
	margin: 0px;
}
.mdescRight {
       padding: 0px 8px 4px 8px;
	font-size: 80%;
	font-style: italic;
	background-color: #FAFAFA;
	border-top: 1px none #E0E0E0;
	border-right: 1px none #E0E0E0;
	border-bottom: 1px none #E0E0E0;
	border-left: 1px none #E0E0E0;
	margin: 0px;
}
.memItemLeft {
	padding: 1px 0px 0px 8px;
	margin: 4px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-color: #E0E0E0;
	border-right-color: #E0E0E0;
	border-bottom-color: #E0E0E0;
	border-left-color: #E0E0E0;
	border-top-style: solid;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	background-color: #FAFAFA;
	font-size: 80%;
}
.memItemRight {
	padding: 1px 8px 0px 8px;
	margin: 4px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-color: #E0E0E0;
	border-right-color: #E0E0E0;
	border-bottom-color: #E0E0E0;
	border-left-color: #E0E0E0;
	border-top-style: solid;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	background-color: #FAFAFA;
	font-size: 80%;
}
.memTemplItemLeft {
	padding: 1px 0px 0px 8px;
	margin: 4px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-color: #E0E0E0;
	border-right-color: #E0E0E0;
	border-bottom-color: #E0E0E0;
	border-left-color: #E0E0E0;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	background-color: #FAFAFA;
	font-size: 80%;
}
.memTemplItemRight {
	padding: 1px 8px 0px 8px;
	margin: 4px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-color: #E0E0E0;
	border-right-color: #E0E0E0;
	border-bottom-color: #E0E0E0;
	border-left-color: #E0E0E0;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	background-color: #FAFAFA;
	font-size: 80%;
}
.memTemplParams {
	padding: 1px 0px 0px 8px;
	margin: 4px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-color: #E0E0E0;
	border-right-color: #E0E0E0;
	border-bottom-color: #E0E0E0;
	border-left-color: #E0E0E0;
	border-top-style: solid;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
       color: #606060;
	background-color: #FAFAFA;
	font-size: 80%;
}
.search     { color: #003399;
              font-weight: bold;
}
FORM.search {
              margin-bottom: 0px;
              margin-top: 0px;
}
INPUT.search { font-size: 75%;
               color: #000080;
               font-weight: normal;
               background-color: #e8eef2;
}
TD.tiny      { font-size: 75%;
}
a {
	color: #1A41A8;
}
a:visited {
	color: #2A3798;
}
.dirtab { padding: 4px;
          border-collapse: collapse;
          border: 1px solid #84b0c7;
}
TH.dirtab { background: #e8eef2;
            font-weight: bold;
}
HR { height: 1px;
     border: none;
     border-top: 1px solid black;
}
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */

DIV.tabs
{
   float            : left;
   width            : 100%;
   background       : url("tab_b.gif") repeat-x bottom;
   margin-bottom    : 4px;
}

DIV.tabs UL
{
   margin           : 0px;
   padding-left     : 10px;
   list-style       : none;
}

DIV.tabs LI, DIV.tabs FORM
{
   display          : inline;
   margin           : 0px;
   padding          : 0px;
}

DIV.tabs FORM
{
   float            : right;
}

DIV.tabs A
{
   float            : left;
   background       : url("tab_r.gif") no-repeat right top;
   border-bottom    : 1px solid #84B0C7;
   font-size        : x-small;
   font-weight      : bold;
   text-decoration  : none;
}

DIV.tabs A:hover
{
   background-position: 100% -150px;
}

DIV.tabs A:link, DIV.tabs A:visited,
DIV.tabs A:active, DIV.tabs A:hover
{
       color: #1A419D;
}

DIV.tabs SPAN
{
   float            : left;
   display          : block;
   background       : url("tab_l.gif") no-repeat left top;
   padding          : 5px 9px;
   white-space      : nowrap;
}

DIV.tabs INPUT
{
   float            : right;
   display          : inline;
   font-size        : 1em;
}

DIV.tabs TD
{
   font-size        : x-small;
   font-weight      : bold;
   text-decoration  : none;
}



/* Commented Backslash Hack hides rule from IE5-Mac \*/
DIV.tabs SPAN {float : none;}
/* End IE5-Mac hack */

DIV.tabs A:hover SPAN
{
   background-position: 0% -150px;
}

DIV.tabs LI#current A
{
   background-position: 100% -150px;
   border-width     : 0px;
}

DIV.tabs LI#current SPAN
{
   background-position: 0% -150px;
   padding-bottom   : 6px;
}

DIV.nav
{
   background       : none;
   border           : none;
   border-bottom    : 1px solid #84B0C7;
}
</style>
</head><body>
<!-- Generated by Doxygen 1.4.5 -->
<h1>FCDownloadFileWndBase&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="FCDownloadFileWndBase" -->Create a thread to download a file.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;Controller_DownloadFile.h&gt;</code>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2094b76fe0bdf0688d7ad92be6d5f555"></a><!-- doxytag: member="FCDownloadFileWndBase::FCDownloadFileWndBase" ref="2094b76fe0bdf0688d7ad92be6d5f555" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#2094b76fe0bdf0688d7ad92be6d5f555">FCDownloadFileWndBase</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fca9dddde41aca1de960b9ef5706cacc"></a><!-- doxytag: member="FCDownloadFileWndBase::FCDownloadFileWndBase" ref="fca9dddde41aca1de960b9ef5706cacc" args="(UINT nID, CWnd *pParent)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#fca9dddde41aca1de960b9ef5706cacc">FCDownloadFileWndBase</a> (UINT nID, CWnd *pParent)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dialog constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="309eb3cdb49a21dbb0f3fa4297f2fe5a"></a><!-- doxytag: member="FCDownloadFileWndBase::FCDownloadFileWndBase" ref="309eb3cdb49a21dbb0f3fa4297f2fe5a" args="(UINT nID)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#309eb3cdb49a21dbb0f3fa4297f2fe5a">FCDownloadFileWndBase</a> (UINT nID)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">CFormView constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c40e8ecc2495c6a0ac547d30b3c599e0"></a><!-- doxytag: member="FCDownloadFileWndBase::DownloadFile" ref="c40e8ecc2495c6a0ac547d30b3c599e0" args="(LPCTSTR strFileURL, int nPriority=THREAD_PRIORITY_IDLE)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#c40e8ecc2495c6a0ac547d30b3c599e0">DownloadFile</a> (LPCTSTR strFileURL, int nPriority=THREAD_PRIORITY_IDLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a thread to download file, return immediately if the file is downloading. <br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Owner window will receive these notify.</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#bb5e3497de6992e1917187e072370f46">DownloadFile_OnCheckTime</a> (CString strFileURL, CString strTime)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check last modified time of download file URL.  <a href="#bb5e3497de6992e1917187e072370f46"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2059a2ea3718df8ab47dc1bf705c3935"></a><!-- doxytag: member="FCDownloadFileWndBase::DownloadFile_OnFinished" ref="2059a2ea3718df8ab47dc1bf705c3935" args="(CString strFileURL, char *pBuffer, int nLength)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#2059a2ea3718df8ab47dc1bf705c3935">DownloadFile_OnFinished</a> (CString strFileURL, char *pBuffer, int nLength)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The file download finished. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84ac1a0198a5f958286e4dbd93851829"></a><!-- doxytag: member="FCDownloadFileWndBase::DownloadFile_OnProxyValidate" ref="84ac1a0198a5f958286e4dbd93851829" args="(CString strFileURL, CString &amp;strUsername, CString &amp;strPassword)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#84ac1a0198a5f958286e4dbd93851829">DownloadFile_OnProxyValidate</a> (CString strFileURL, CString &amp;strUsername, CString &amp;strPassword)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill proxy's username &amp; password to validate. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1bc85136c61ed9eae342f9693502475e"></a><!-- doxytag: member="FCDownloadFileWndBase::DownloadFile_OnError" ref="1bc85136c61ed9eae342f9693502475e" args="(CString strFileURL)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#1bc85136c61ed9eae342f9693502475e">DownloadFile_OnError</a> (CString strFileURL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Error during download. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d725543e8a214045c168e204289fc49"></a><!-- doxytag: member="FCDownloadFileWndBase::DownloadFile_OnStartDownload" ref="3d725543e8a214045c168e204289fc49" args="(CString strFileURL)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#3d725543e8a214045c168e204289fc49">DownloadFile_OnStartDownload</a> (CString strFileURL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start download file. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_c_download_file_wnd_base.html#9899c117a46da919adfb1a28b4dc2642">DownloadFile_OnProgress</a> (CString strFileURL, int nNow, int nTotal)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Download progress.  <a href="#9899c117a46da919adfb1a28b4dc2642"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T&gt;<br>
 class FCDownloadFileWndBase&lt; T &gt;</h3>

Create a thread to download a file. 
<p>
The owner window will receive notify message. 
<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="bb5e3497de6992e1917187e072370f46"></a><!-- doxytag: member="FCDownloadFileWndBase::DownloadFile_OnCheckTime" ref="bb5e3497de6992e1917187e072370f46" args="(CString strFileURL, CString strTime)=0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="mdPrefix" colspan="4">
template&lt;class T&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top">virtual BOOL <a class="el" href="class_f_c_download_file_wnd_base.html">FCDownloadFileWndBase</a>&lt; T &gt;::DownloadFile_OnCheckTime           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">CString&nbsp;</td>
          <td class="mdname" nowrap> <em>strFileURL</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>CString&nbsp;</td>
          <td class="mdname" nowrap> <em>strTime</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>&nbsp;
      
    </td>
    <td>

<p>
Check last modified time of download file URL. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>continue to download file return TRUE, otherwise return FALSE. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="9899c117a46da919adfb1a28b4dc2642"></a><!-- doxytag: member="FCDownloadFileWndBase::DownloadFile_OnProgress" ref="9899c117a46da919adfb1a28b4dc2642" args="(CString strFileURL, int nNow, int nTotal)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="mdPrefix" colspan="4">
template&lt;class T&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top">virtual void <a class="el" href="class_f_c_download_file_wnd_base.html">FCDownloadFileWndBase</a>&lt; T &gt;::DownloadFile_OnProgress           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">CString&nbsp;</td>
          <td class="mdname" nowrap> <em>strFileURL</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>nNow</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>nTotal</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, protected, virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>&nbsp;
      
    </td>
    <td>

<p>
Download progress. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>nNow</em>&nbsp;</td><td>: downloaded bytes. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nTotal</em>&nbsp;</td><td>: total bytes, don't know size if 0. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
</body>
</html>
